package com.manpower.model;

import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
 * MpRecruitment entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "mp_recruitment", catalog = "manpower")
public class MpRecruitment implements java.io.Serializable {

	// Fields

	private String id;
	private MpDept mpDept;
	private MpPosition mpPosition;
	private MpUser mpUser;
	private String recruitmentType;
	private Integer recruitmentCount;
	private Timestamp recruitmentStarttime;
	private Timestamp recruitmentEndtime;
	private String recuitmentDescription;
	private String recuitmentRemarks;

	// Constructors

	/** default constructor */
	public MpRecruitment() {
	}

	/** minimal constructor */
	public MpRecruitment(String id) {
		this.id = id;
	}

	/** full constructor */
	public MpRecruitment(String id, MpDept mpDept, MpPosition mpPosition,
			MpUser mpUser, String recruitmentType, Integer recruitmentCount,
			Timestamp recruitmentStarttime, Timestamp recruitmentEndtime,
			String recuitmentDescription, String recuitmentRemarks) {
		this.id = id;
		this.mpDept = mpDept;
		this.mpPosition = mpPosition;
		this.mpUser = mpUser;
		this.recruitmentType = recruitmentType;
		this.recruitmentCount = recruitmentCount;
		this.recruitmentStarttime = recruitmentStarttime;
		this.recruitmentEndtime = recruitmentEndtime;
		this.recuitmentDescription = recuitmentDescription;
		this.recuitmentRemarks = recuitmentRemarks;
	}

	// Property accessors
	@Id
	@Column(name = "id", unique = true, nullable = false, length = 36)
	public String getId() {
		return this.id;
	}

	public void setId(String id) {
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "recruitment_dept_id")
	public MpDept getMpDept() {
		return this.mpDept;
	}

	public void setMpDept(MpDept mpDept) {
		this.mpDept = mpDept;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "recruitment_position_id")
	public MpPosition getMpPosition() {
		return this.mpPosition;
	}

	public void setMpPosition(MpPosition mpPosition) {
		this.mpPosition = mpPosition;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "recruitment_creatuser")
	public MpUser getMpUser() {
		return this.mpUser;
	}

	public void setMpUser(MpUser mpUser) {
		this.mpUser = mpUser;
	}

	@Column(name = "recruitment_type", length = 200)
	public String getRecruitmentType() {
		return this.recruitmentType;
	}

	public void setRecruitmentType(String recruitmentType) {
		this.recruitmentType = recruitmentType;
	}

	@Column(name = "recruitment_count")
	public Integer getRecruitmentCount() {
		return this.recruitmentCount;
	}

	public void setRecruitmentCount(Integer recruitmentCount) {
		this.recruitmentCount = recruitmentCount;
	}

	@Column(name = "recruitment_starttime", length = 19)
	public Timestamp getRecruitmentStarttime() {
		return this.recruitmentStarttime;
	}

	public void setRecruitmentStarttime(Timestamp recruitmentStarttime) {
		this.recruitmentStarttime = recruitmentStarttime;
	}

	@Column(name = "recruitment_endtime", length = 19)
	public Timestamp getRecruitmentEndtime() {
		return this.recruitmentEndtime;
	}

	public void setRecruitmentEndtime(Timestamp recruitmentEndtime) {
		this.recruitmentEndtime = recruitmentEndtime;
	}

	@Column(name = "recuitment_description", length = 200)
	public String getRecuitmentDescription() {
		return this.recuitmentDescription;
	}

	public void setRecuitmentDescription(String recuitmentDescription) {
		this.recuitmentDescription = recuitmentDescription;
	}

	@Column(name = "recuitment_remarks", length = 200)
	public String getRecuitmentRemarks() {
		return this.recuitmentRemarks;
	}

	public void setRecuitmentRemarks(String recuitmentRemarks) {
		this.recuitmentRemarks = recuitmentRemarks;
	}

}